/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.jaywalkable.vkeyboard;

import static com.jaywalkable.vkeyboard.BengaliLetter.A;
import static com.jaywalkable.vkeyboard.BengaliLetter.AA;
import static com.jaywalkable.vkeyboard.BengaliLetter.AI;
import static com.jaywalkable.vkeyboard.BengaliLetter.AU;
import static com.jaywalkable.vkeyboard.BengaliLetter.BA;
import static com.jaywalkable.vkeyboard.BengaliLetter.BHA;
import static com.jaywalkable.vkeyboard.BengaliLetter.DA;
import static com.jaywalkable.vkeyboard.BengaliLetter.DDHA;
import static com.jaywalkable.vkeyboard.BengaliLetter.DHA;
import static com.jaywalkable.vkeyboard.BengaliLetter.E;
import static com.jaywalkable.vkeyboard.BengaliLetter.GA;
import static com.jaywalkable.vkeyboard.BengaliLetter.GANDA_MARK;
import static com.jaywalkable.vkeyboard.BengaliLetter.GHA;
import static com.jaywalkable.vkeyboard.BengaliLetter.HA;
import static com.jaywalkable.vkeyboard.BengaliLetter.I;
import static com.jaywalkable.vkeyboard.BengaliLetter.II;
import static com.jaywalkable.vkeyboard.BengaliLetter.JA;
import static com.jaywalkable.vkeyboard.BengaliLetter.JHA;
import static com.jaywalkable.vkeyboard.BengaliLetter.KA;
import static com.jaywalkable.vkeyboard.BengaliLetter.KHA;
import static com.jaywalkable.vkeyboard.BengaliLetter.KHANDA_TA;
import static com.jaywalkable.vkeyboard.BengaliLetter.LA;
import static com.jaywalkable.vkeyboard.BengaliLetter.MA;
import static com.jaywalkable.vkeyboard.BengaliLetter.NA;
import static com.jaywalkable.vkeyboard.BengaliLetter.NGA;
import static com.jaywalkable.vkeyboard.BengaliLetter.NNA;
import static com.jaywalkable.vkeyboard.BengaliLetter.NYA;
import static com.jaywalkable.vkeyboard.BengaliLetter.O;
import static com.jaywalkable.vkeyboard.BengaliLetter.PA;
import static com.jaywalkable.vkeyboard.BengaliLetter.PHA;
import static com.jaywalkable.vkeyboard.BengaliLetter.RA;
import static com.jaywalkable.vkeyboard.BengaliLetter.RA_WITH_LOWER_DIAGONAL;
import static com.jaywalkable.vkeyboard.BengaliLetter.RA_WITH_MIDDLE_DIAGONAL;
import static com.jaywalkable.vkeyboard.BengaliLetter.RHA;
import static com.jaywalkable.vkeyboard.BengaliLetter.RRA;
import static com.jaywalkable.vkeyboard.BengaliLetter.RUPEE_SIGN;
import static com.jaywalkable.vkeyboard.BengaliLetter.SA;
import static com.jaywalkable.vkeyboard.BengaliLetter.SHA;
import static com.jaywalkable.vkeyboard.BengaliLetter.SIGN_AA;
import static com.jaywalkable.vkeyboard.BengaliLetter.SIGN_AI;
import static com.jaywalkable.vkeyboard.BengaliLetter.SIGN_ANUSVARA;
import static com.jaywalkable.vkeyboard.BengaliLetter.SIGN_AU;
import static com.jaywalkable.vkeyboard.BengaliLetter.SIGN_CANDRABINDU;
import static com.jaywalkable.vkeyboard.BengaliLetter.SIGN_E;
import static com.jaywalkable.vkeyboard.BengaliLetter.SIGN_I;
import static com.jaywalkable.vkeyboard.BengaliLetter.SIGN_II;
import static com.jaywalkable.vkeyboard.BengaliLetter.SIGN_O;
import static com.jaywalkable.vkeyboard.BengaliLetter.SIGN_U;
import static com.jaywalkable.vkeyboard.BengaliLetter.SIGN_UU;
import static com.jaywalkable.vkeyboard.BengaliLetter.SIGN_VIRAMA;
import static com.jaywalkable.vkeyboard.BengaliLetter.SIGN_VOCALIC_R;
import static com.jaywalkable.vkeyboard.BengaliLetter.SSA;
import static com.jaywalkable.vkeyboard.BengaliLetter.TA;
import static com.jaywalkable.vkeyboard.BengaliLetter.THA;
import static com.jaywalkable.vkeyboard.BengaliLetter.TTA;
import static com.jaywalkable.vkeyboard.BengaliLetter.TTHA;
import static com.jaywalkable.vkeyboard.BengaliLetter.U;
import static com.jaywalkable.vkeyboard.BengaliLetter.UU;
import static com.jaywalkable.vkeyboard.BengaliLetter.VOCALIC_L;
import static com.jaywalkable.vkeyboard.BengaliLetter.VOCALIC_R;
import static com.jaywalkable.vkeyboard.BengaliLetter.YA;
import static com.jaywalkable.vkeyboard.BengaliLetter.YYA;

import com.jaywalkable.vkeyboard.impl.AbstractBengaliVKeyboardLayoutImpl;

/**
 * Virtual representation of Unijoy bengali keyboard layout.
 * 
 * @author Rubel Ahammad
 */
class UnijoyVKeyboardLayout extends AbstractBengaliVKeyboardLayoutImpl {

    UnijoyVKeyboardLayout() {
        layout.put(new Character[] { '\\' }, new Character[] { RA_WITH_LOWER_DIAGONAL });
        layout.put(new Character[] { '|' }, new Character[] { RA_WITH_MIDDLE_DIAGONAL });
        layout.put(new Character[] { '@' }, new Character[] { SIGN_CANDRABINDU });
        layout.put(new Character[] { '$' }, new Character[] { RUPEE_SIGN });
        layout.put(new Character[] { '^' }, new Character[] { SIGN_ANUSVARA });
        layout.put(new Character[] { '&' }, new Character[] { KHANDA_TA });
        layout.put(new Character[] { 'A' }, new Character[] { RA, SIGN_VIRAMA });
        layout.put(new Character[] { 'B' }, new Character[] { NNA });
        layout.put(new Character[] { 'C' }, new Character[] { SIGN_AI });
        layout.put(new Character[] { 'D' }, new Character[] { SIGN_II });
        layout.put(new Character[] { 'E' }, new Character[] { DDHA });
        layout.put(new Character[] { 'F' }, new Character[] { A });
        layout.put(new Character[] { 'G' }, new Character[] { GANDA_MARK });
        layout.put(new Character[] { 'H' }, new Character[] { BHA });
        layout.put(new Character[] { 'I' }, new Character[] { NYA });
        layout.put(new Character[] { 'J' }, new Character[] { KHA });
        layout.put(new Character[] { 'K' }, new Character[] { THA });
        layout.put(new Character[] { 'L' }, new Character[] { DHA });
        layout.put(new Character[] { 'M' }, new Character[] { SHA });
        layout.put(new Character[] { 'N' }, new Character[] { SSA });
        layout.put(new Character[] { 'O' }, new Character[] { GHA });
        layout.put(new Character[] { 'P' }, new Character[] { RHA });
        layout.put(new Character[] { 'Q' }, new Character[] { NGA });
        layout.put(new Character[] { 'R' }, new Character[] { PHA });
        layout.put(new Character[] { 'S' }, new Character[] { SIGN_UU });
        layout.put(new Character[] { 'T' }, new Character[] { TTHA });
        layout.put(new Character[] { 'U' }, new Character[] { JHA });
        layout.put(new Character[] { 'V' }, new Character[] { LA });
        layout.put(new Character[] { 'W' }, new Character[] { YYA });
        layout.put(new Character[] { 'X' }, new Character[] { SIGN_AU });
        layout.put(new Character[] { 'Y' }, new Character[] { I });
        layout.put(new Character[] { 'Z' }, new Character[] { SIGN_VIRAMA, YA });
        layout.put(new Character[] { 'a' }, new Character[] { SIGN_VOCALIC_R });
        layout.put(new Character[] { 'b' }, new Character[] { NA });
        layout.put(new Character[] { 'c' }, new Character[] { SIGN_E });
        layout.put(new Character[] { 'd' }, new Character[] { SIGN_I });
        layout.put(new Character[] { 'e' }, new Character[] { DDHA });
        layout.put(new Character[] { 'f' }, new Character[] { SIGN_AA });
        layout.put(new Character[] { 'g' }, new Character[] { SIGN_VIRAMA });
        layout.put(new Character[] { 'h' }, new Character[] { BA });
        layout.put(new Character[] { 'i' }, new Character[] { HA });
        layout.put(new Character[] { 'j' }, new Character[] { KA });
        layout.put(new Character[] { 'k' }, new Character[] { TA });
        layout.put(new Character[] { 'l' }, new Character[] { DA });
        layout.put(new Character[] { 'm' }, new Character[] { MA });
        layout.put(new Character[] { 'n' }, new Character[] { SA });
        layout.put(new Character[] { 'o' }, new Character[] { GA });
        layout.put(new Character[] { 'p' }, new Character[] { RRA });
        layout.put(new Character[] { 'q' }, new Character[] { SIGN_ANUSVARA });
        layout.put(new Character[] { 'r' }, new Character[] { PA });
        layout.put(new Character[] { 's' }, new Character[] { SIGN_U });
        layout.put(new Character[] { 't' }, new Character[] { TTA });
        layout.put(new Character[] { 'u' }, new Character[] { JA });
        layout.put(new Character[] { 'v' }, new Character[] { RA });
        layout.put(new Character[] { 'w' }, new Character[] { YA });
        layout.put(new Character[] { 'x' }, new Character[] { SIGN_O });
        layout.put(new Character[] { 'z' }, new Character[] { SIGN_VIRAMA, RA });

        layout.put(new Character[] { 'g', 'f' }, new Character[] { A });
        layout.put(new Character[] { 'g', 'F' }, new Character[] { AA });
        layout.put(new Character[] { 'g', 'd' }, new Character[] { I });
        layout.put(new Character[] { 'g', 'D' }, new Character[] { II });
        layout.put(new Character[] { 'g', 's' }, new Character[] { U });
        layout.put(new Character[] { 'g', 'S' }, new Character[] { UU });
        layout.put(new Character[] { 'g', 'a' }, new Character[] { VOCALIC_R });
        layout.put(new Character[] { 'g', 'A' }, new Character[] { VOCALIC_L });
        layout.put(new Character[] { 'g', 'c' }, new Character[] { E });
        layout.put(new Character[] { 'g', 'C' }, new Character[] { AI });
        layout.put(new Character[] { 'g', 'x' }, new Character[] { O });
        layout.put(new Character[] { 'g', 'X' }, new Character[] { AU });
    }
}
